set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

CREATE procedure [dbo].[std_sp_generar_numero_expediente]
   @NUMERO_EXP           VARCHAR(40)  OUTPUT
as
begin  
   DECLARE @NUMERO BIGINT

	BEGIN TRANSACTION
	   SELECT @NUMERO = NUMERO
		 FROM CORRELATIVO
		WHERE ANIO = YEAR(GETDATE())

	   SET @NUMERO = COALESCE(@NUMERO,0)
	   IF @NUMERO = 0
	   BEGIN
		   INSERT INTO CORRELATIVO (ANIO, NUMERO)
		   VALUES (YEAR(GETDATE()), @NUMERO)
	   END

	   SET @NUMERO = @NUMERO + 1

	   UPDATE CORRELATIVO
		  SET NUMERO = @NUMERO
		WHERE ANIO = YEAR(GETDATE())

       SET @NUMERO_EXP = '0000' + CAST(@NUMERO AS VARCHAR)
	   SET @NUMERO_EXP = SUBSTRING(@NUMERO_EXP ,LEN(@NUMERO_EXP)-4+1, LEN(@NUMERO_EXP)) + '-' +  CAST(YEAR(GETDATE()) AS VARCHAR)

       COMMIT

end
